Breaking the Complexity Barrier of Pure Functional Programs with Impure Data Structures
نویسندگان
چکیده
Pure functional programming language offer many advantages over impure languages. Unfortunately, the absence of destructive update, imposes a complexity barrier. In imperative languages, there are algorithms and data structures with better complexity. We present our project for combining existing program transformation techniques to transform inefficient pure data structures into impure ones with better complexity. As a consequence, the programmer is not exposed to the impurity and retains the advantages of purity.
منابع مشابه
Comparing the effect of pure and impure honey on severity of pain, amount of bleeding, and duration and interval of menstrual cycles in female students with primary dysmenorrhea
Background: Dysmenorrhea is a common problem especially in young women that can have adverse effects on quality of life. Aim: to investigated the effect of pure and impure honey on severity of pain, amount of bleeding, and duration and interval of menstrual cycles in female students with primary dysmenorrhea Method: The current study was a single-blind crossover design which was carried out on ...
متن کاملاثر پرایمینگ بذر بر برخی ویژگی های کمی و کیفی دو رقم چغندرقند(Beta vulgaris L.)
In order to study the effects of seed pre-treatment with potassium nitrate (KNO3), gibberellic acid (GA3) and hydro-priming on growth and yield of two sugarbeet cultivars, an experiment was conducted at Miyandoab Agricultural and Natural Resources Research Station in 2009 growing season. The experimental design was a factorial based on randomized complete blocks design with three replications. ...
متن کاملPrivate provision of environmental public goods: Household participation in green-electricity programs
Green-electricity programs provide an opportunity to study private provision of an environmental public good in a field setting. The first part of this paper develops a theoretical framework to analyze household decisions about voluntary participation in green-electricity programs. We consider different participation mechanisms and show how they relate to existing theory on either pure or impur...
متن کاملSharing analysis in the Pawns compiler
Pawns is a programming language under development that supports algebraic data types, polymorphism, higher order functions and “pure” declarative programming. It also supports impure imperative features including destructive update of shared data structures via pointers, allowing significantly increased efficiency for some operations. A novelty of Pawns is that all impure “effects” must be made...
متن کاملBeauty in the Beast A Functional Semantics for the Awkward Squad
It can be very difficult to debug impure code, let alone prove its correctness. To address these problems, we provide a functional specification of three central components of Peyton Jones’s awkward squad: teletype IO, mutable state, and concurrency. By constructing an internal model of such concepts within our programming language, we can test, debug, and reason about programs that perform IO ...
متن کامل